Dall'esperienza di Mr.Webmaster nasce MRWCorsi.it il
portale italiano dell'e-learning che ti offre corsi online di
qualità, tra cui l'ASP, a prezzi accessibili a
chiunque!!
Hai
del codice ASP che vorresti condividere, vorresti veder
pubblicato qualche tuo articolo o tutorial sull'ASP? Bene!
byluciani.com sarà ben lieto di ospitare il tuo lavoro. Manda
il tuo materiale a COLLABORA indicando
le tue generalità (Nome, Cognome, E-Mail, sito Web, Città,
data di nascita e se vuoi una foto). Il tutto è "no
profit", condividi le tue conoscenze per far crescere i
giovani programmatori del
Web.
Hai
trovato utili i contenuti di byluciani.com? Senti il piacere
di contraccambiare in qualche maniera? Puoi farlo facendo
una donazione attraverso la wishlist raggiungibile al seguente
indirizzo:
Per avere una maggiore
padronanza con il nostro sito andiamo a studiare un sistema
per controllare con quale frequenza vengono visitate le nostre
pagine. In questo modo saremo in grado di stabilire quali sono
le pagine più gettonate in modo da capire quali pagine non
interessano ai nostri visitatori.
Incominciamo e
prepariamo subito il database di appoggio, è chiaro che avremo
bisogno di memorizzare le visite da qualche
parte: chiamiamo il database pagine e creiamo una
tabella di nome pagine con la seguente
struttura
Il
database è pronto, passiamo al codice. Però, prima vediamo
come deve funzionare lo script: 1. il codice deve essere
inserito nelle pagine che vogliamo monitorare, per questo
conviene utilizzare l'include per evitare di ripetere
lo stesso codice in ogni pagina 2. lo script in esecuzione
memorizza il nome della pagina nel db e incrementa il numero
di visite 3. se la pagina è già presente nel db si deve
solo incrementare il numero di visite di una unità
<% Dim url, qs, conn, RS
'Recuperiamo il nome della pagina in esecuzione completo del suo percorso url = Request.ServerVariables("SCRIPT_NAME")
'Se c'è una querystring allora completiamo il nome della pagina richiesta If qs <> "" AND (Not IsNull(qs)) Then url = url & "?" & qs
'Apriamo il nostro database Set conn = Server.CreateObject("ADODB.Connection") conn.open "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & _ Server.MapPath("/mdb-database/pagine.mdb")
'Impostiamo la query che verifica se la pagina richiesta è già 'presente nel db SQL = "SELECT idpagina FROM pagine WHERE url = '" & url & "'"
'Eseguiamo la query di verifica e memorizziamo il risultato 'nel recordset RS Set RS = conn.Execute(SQL)
'Se la pagina è già presente allora incrementa il conteggio delle 'visualizzazioni, altrimenti memorizza per la prima volta la pagina nel db If Not RS.EOF Then SQL = "UPDATE pagine SET accessi = accessi + 1 WHERE idpagina = " & RS(0) Else SQL = "INSERT INTO pagine (url, accessi) VALUES ('" & url & "',1)" End If
'Eseguiamo la query scelta conn.Execute(SQL)
'Liberiamo memoria Set RS = Nothing conn.Close Set conn = Nothing %>
Nel
codice, commentato a dovere, si nota anche che se una pagina
si comporta diversamente a seconda di eventuali querystring è
possibile memorizzare il nome della pagina corredato della
querystring in parola. Salviamo il tutto sotto il nome
pagine.asp e creiamo la pagina di controllo che chiamiamo per
comodità contapagine.asp e inseriamo il seguente
codice
<!--#include virtual="/pagine.asp"--> Pagina di prova, ora controlla il contenuto del database
Il
tutto funziona inserendo il file pagine.asp nella root
del sito ed il db nella cartella mdb-database, mentre
l'include può essere inserito in tutte le pagine di qualsiasi
cartella del sito. Una volta eseguito lo script il nostro db
presenterà un record così come in figura
Ogni
volta che effetuiamo il refresh della pagina il campo
accessi viene incrementato di uno. Con questo è
tutto, nel prossimo appuntamento metteremo su lo script per
visualizzare il dati relativi alle visite ricevute dalle
nostre pagine